めがね901の運用環境・開発環境: 認証基盤
認証基盤に必要なコンポーネント
各コンポーネントの管理ユーザのパスワード等を一元管理できるように、秘密情報を管理するソフトウェアが必要。
監視システムや開発環境といったコンポーネントごとにユーザ情報を保存すると、コンポーネントを増やす毎に、扱う秘密情報が増えてしまう。すべてのコンポーネントに1つの認証情報でサインイン(シングルサインオン)できると便利である。 IDプロバイダを構築するためには次のコンポーネントが必要。
認証・認可サーバ:クライアントがLDAPサーバに保存されているユーザ本人であるかを認証し、コンポーネントを利用する権限があるかを確認する。Autheliaなどを使って構築する。 問題
Vaultの管理ユーザは?
認証・認可サーバ、LDAPサーバの秘密情報は?
Vaultで管理する。
デプロイ時に使用するVaultのトークンは、一時的にOIDC auth method以外の方法で取得しなければならない。
認証基盤を組み上げるのに必要な秘密情報
認証認可サーバだけで持っておくもの
OIDC HMAC secret
JWKS secret
JWT secret
認証認可サーバとLDAPサーバで共有するもの
LDAPサーバのパスワード
認証認可サーバと電子メールサーバで共有するもの
電子メールサーバのパスワード
認証認可サーバとOIDCクライアントで共有するもの
OIDC client secret